Along with the development of the streaming technique in recent years, it is a common practice to browse video data delivered from a server on a client. In this case, a stream is selected in accordance with various properties (encoding/decoding, image quality, bit rate, and the like) demanded by the client, undergoes image conversion or the like, and is delivered.
In terms of QoS (Quality of Service) and the like, delivery data control between the server and client is executed.
In addition, a video delivery system using a built-in device type camera server is available. By making camera control according to a user's demand, a desired video stream can be obtained.
A typical example of video delivery control is as follows. For example, a server that makes video delivery is simultaneously connected to a plurality of clients, and receives demands for delivery of video streams from the respective clients. The processing load on the video delivery server becomes heavier with increasing number of clients to which video delivery is made at the same time. When this processing load exceeds the processing performance of the video delivery server, the overall performance drops, thus disturbing smooth streaming. Hence, in the conventional system, the following control is made. That is, the number of clients to be simultaneously connected is limited, and when clients are connected up to the upper limit, if a demand for delivery comes from another client, that demand for delivery is rejected.
However, when a system in which a client can demand to deliver a video stream (multi-stream) of an arbitrary property and the video delivery server delivers a video stream of the property according to the demand from that client is assumed, effective delivery control cannot be implemented even when the number of clients to be simultaneously connected is limited as in the conventional system. This is because the properties of video streams to be handled vary for respective clients, and the processing loads also vary depending on differences in properties. For this reason, even when the number of clients to be simultaneously connected is small, if respective clients demand to deliver video data with quality of the highest level, the processing load exceeds the processing performance of the video delivery server, and possibility of delayed streaming cannot be eliminated.
Especially, the built-in device type camera server has poor performance compared to a general video delivery server, and its processing performance is spared not only to the image process but also various kinds of device control unlike in the video delivery server. Hence, the aforementioned problem becomes more conspicuous.
This problem is not limited to the processing performance of the server, and the processing performance of the whole system also changes depending on that of the client.
The client user must find out an optimal video stream by repeating trial and error so as to select a video stream with appropriate image properties that match the processing performance of the client.
Furthermore, when the processing performance of the video delivery server is shared to clients which are connected simultaneously, the delivery control technique that can share the processing performance in diversified terms in place of simple sharing is required.